home *** CD-ROM | disk | FTP | other *** search
/ Cracking 2 / Cracking II..iso / Texty / crackme / crkme1bh.txt < prev    next >
Encoding:
Text File  |  1999-11-14  |  3.3 KB  |  129 lines

  1. Cosh`s CrackMe #1 - solution by BugHUNTER/EVOLUTiON (bughunter@gmx.net)
  2. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  3. You must be a REAL newbe cos you need to read a tutor bout one of the most
  4. simple cd check crackmes ever made...
  5.  
  6. Tools needed:
  7.   W32DASM, hex editor, 2 minutes free time
  8.  
  9.  
  10. Here we go:
  11.  
  12.  
  13. First of all run the proggy and keep the error message in mind !
  14.  
  15. open crackme1.exe in W32DASM
  16.  
  17. search for "Try again"
  18.  
  19. * Referenced by a (U)nconditional or (C)onditional Jump at Address:
  20. |:00401352(C)
  21. |
  22. :00401392 FF45EC                  inc [ebp-14]
  23. :00401395 83C704                  add edi, 00000004
  24. :00401398 837DEC07                cmp dword ptr [ebp-14], 00000007
  25. :0040139C 759F                    jne 0040133D
  26. :0040139E 53                      push ebx
  27.  
  28. * Possible StringData Ref from Data Obj ->"Try again"
  29.                                   |
  30. :0040139F 684C304000              push 0040304C
  31.  
  32. * Possible StringData Ref from Data Obj ->"You lost"
  33.                                   |
  34. :004013A4 6840304000              push 00403040
  35.  
  36.  
  37. use the jump reference to get to 00401352 to see what brought us up to the error msg
  38.  
  39. * Reference To: KERNEL32.GetDriveTypeA, Ord:0104h
  40.                                   |
  41. :00401349 FF1504204000            Call dword ptr [00402004]
  42. :0040134F 83F803                  cmp eax, 00000003
  43. :00401352 743E                    je 00401392                  <-- here it
  44. :00401354 8D45E8                  lea eax, dword ptr [ebp-18]      goes !
  45.  
  46. * Possible StringData Ref from Data Obj ->"CD_CHECK.DAT"
  47.  
  48.  
  49. there is a  cmp eax,003  after the GetDriveTypeA routine (3 is HD!)
  50. so it drops you out of the check routine if equal to 3
  51. ==> NOP this jump
  52.     patch at offset 1352h  743E to 9090
  53.  
  54. after running the proggy again you will see that the error is stil popping up
  55.  
  56. so lets see what else took us there..
  57.  
  58. the error msg is right after the check routine 
  59.  
  60.  
  61. :00401384 E811030000              Call 0040169A
  62. :00401389 385DF3                  cmp byte ptr [ebp-0D], bl
  63. :0040138C 0F84F3000000            je 00401485                     <-- use this for good !
  64.  
  65. * Referenced by a (U)nconditional or (C)onditional Jump at Address:
  66. |:00401352(C)
  67. |
  68. :00401392 FF45EC                  inc [ebp-14]
  69. :00401395 83C704                  add edi, 00000004
  70. :00401398 837DEC07                cmp dword ptr [ebp-14], 00000007
  71. :0040139C 759F                    jne 0040133D
  72. :0040139E 53                      push ebx
  73.  
  74. * Possible StringData Ref from Data Obj ->"Try again"
  75.  
  76.  
  77. only the conditional jump at 0040138c takes us out of this mess
  78.  
  79. if equal we should get here
  80.  
  81.  
  82.  Referenced by a (U)nconditional or (C)onditional Jump at Address:
  83. |:0040138C(C)
  84. |
  85. :00401485 53                      push ebx
  86.  
  87. * Possible StringData Ref from Data Obj ->"You did it"
  88.                                   |
  89. :00401486 6834304000              push 00403034
  90.  
  91. * Possible StringData Ref from Data Obj ->"Well done, Cracker"
  92.                                   |
  93. :0040148B 6820304000              push 00403020
  94. :00401490 E914FFFFFF              jmp 004013A9
  95. :00401495 6A00                    push 00000000
  96. :00401497 FF7120                  push [ecx+20]
  97.  
  98.  
  99. ==> change 0F84F3000000 at offset 138Ch to 90E9F3000000
  100.  
  101.  
  102. ...
  103.  
  104. you did it !!
  105.  
  106. -BugHUNTER/EVOLUTION
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.